#ifndef VXFONT_H
#define VXFONT_H

#include <QtGui>

class VxFont : QObject
{
	Q_OBJECT

public:
	VxFont(QFont * font);

	QPainterPath * getPath(QChar);

	QFontMetrics * metrics() { return _metrics; };

private:
	QFont * _font;
	QFontMetrics *_metrics;

};


class VxSymbolsGenerator : public QObject
{
	Q_OBJECT

public:
	VxSymbolsGenerator();

	int count() {	return _count;	};
	QChar charAt(int) const;

private:
	int _count;

};


class VxSymbols : public QObject
{
	Q_OBJECT

public:
	VxSymbols(VxFont *, VxSymbolsGenerator *);

	QSize getMaxSize(int charIx0=-1, int length=-1);

	VxFont * font()
		{	return _font; };

	VxSymbolsGenerator * generator()
		{	return _generator;	};

	int descent();

private:
	VxFont * _font;
	VxSymbolsGenerator * _generator;
	QHash<int, QPainterPath *> * _pathes;


};

#endif // VXFONT_H

